package sicnu.cs.ich.common.services;

import org.springframework.web.multipart.MultipartFile;
import sicnu.cs.ich.api.common.enums.FileEnum;


import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;

/**
 * 用于上传文件
 *
 * @author CaiKe
 * @date 2021/11/14 18:44
 */
public interface IFileUploadService {

    /**
     * 上传文件
     *
     * @param fileIn   文件流
     * @param fileEnum 文件归档类
     * @param fileName 文件名（会拼上UUID）
     * @return
     * @throws IOException
     */
    String uploadFile(FileInputStream fileIn, FileEnum fileEnum, String fileName) throws IOException;

    /**
     * 删除文件
     *
     * @param key 文件的key
     */
    void deleteFile(String key);

    /**
     * 批量删除文件
     */
    void deleteFile(List<String> keys);
}
